The present invention relates generally to the field of data storage and management, and more particularly to techniques for determining storage locations for data in a storage environment based upon storage policies configured for the storage environment.
Heterogeneous and complex storage environments comprising storage systems and devices with different cost, capacity, bandwidth, and other performance characteristics are rapidly replacing conventional homogeneous data storage environments. Due to their heterogeneous nature, managing storage of data in such environments is a difficult and complex task. An important information management function in such heterogeneous data storage environments is to determine where to store the data among the various available storage devices in a manner that reduces costs associated with the data storage while providing efficient data access.
In several conventional data storage environments, the decision where to store the data is generally manually determined by a user (e.g., a system administrator) of the data storage environment. The user may make the decision based upon data usage patterns and upon characteristics of the storage devices available in the storage environment for storing the data. Accordingly, in such environments, the system administrator has to gather frequency and data usage information, data access and performance requirements, and frequency of access information from users or consumers of the data. The administrator also has to determine characteristics (e.g., cost, capacity, other performance characteristics) of storage devices available for storing the data. The administrator then typically makes an educated guess as to where the data is to be stored. While the manual approach described above may be feasible in simple homogeneous storage environments supporting a small number of data consumers, such an approach is impractical for today's large and heterogeneous storage environments.
Presently, several conventional data management systems are available that automate part of the data storage decision making process. For example, automated data backup applications are available that perform hierarchical storage management (HSM) to move data from online to off-line storage (or primary to secondary backup media). However, conventional data management systems do not presently offer the flexibility, control, and automation desired by system administrators for managing large heterogeneous storage environments comprising a large number of data consumers, servers, and hosts.
In light of the above, there is a need for automated techniques that allow data storage administrators to efficiently manage distributed data and storage resources with minimum intervention in a manner the facilitates efficient data access while optimizing the use of available storage resources.